Workflow model GM AR. Gumpy. Dynagump. At a very high level, this is what gump does. We ll be looking at each of the items described here seperately.

Similar documents
Exceptions. Your computer takes exception. The Exception Class. Causes of Exceptions

Python Programming: An Introduction to Computer Science

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis

JavaFX. JavaFX 2.2 Installation Guide Release 2.2 E August 2012 Installation instructions by operating system for JavaFX 2.

Sorting in Linear Time. Data Structures and Algorithms Andrei Bulatov

BAAN IVc/BaanERP. Conversion Guide Oracle7 to Oracle8

K-NET bus. When several turrets are connected to the K-Bus, the structure of the system is as showns

Avid Interplay Bundle

Chapter 4 The Datapath

Network Time Protocol (NTP)

1 Enterprise Modeler

Definitions. Error. A wrong decision made during software development

CS 111: Program Design I Lecture 20: Web crawling, HTML, Copyright

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

Adapter for Mainframe

Basic Design Principles

One advantage that SONAR has over any other music-sequencing product I ve worked

n Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk

Network Time Protocol (NTP)

Recursion. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Review: Method Frames

CS 111: Program Design I Lecture # 7: First Loop, Web Crawler, Functions

Announcements. Reading. Project #4 is on the web. Homework #1. Midterm #2. Chapter 4 ( ) Note policy about project #3 missing components

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

Our Learning Problem, Again

TargetLink. Installation Notes. MATLAB R14SP3 Compatibility Update for TargetLink 2.1

Custodial Integrator Automation Guide

How do we evaluate algorithms?

SCAN INSPECT TRACK SOLVE

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5.

CS425 Project Assignment

Using VTR Emulation on Avid Systems

Lecture 5. Counting Sort / Radix Sort

The VSS CCD photometry spreadsheet

Goals of the Lecture UML Implementation Diagrams

Switching Hardware. Spring 2018 CS 438 Staff, University of Illinois 1

CS 11 C track: lecture 1

3.1 Overview of MySQL Programs. These programs are discussed further in Chapter 4, Database Administration. Client programs that access the server:

Term Project Report. This component works to detect gesture from the patient as a sign of emergency message and send it to the emergency manager.

CIS 121 Data Structures and Algorithms with Java Fall Big-Oh Notation Tuesday, September 5 (Make-up Friday, September 8)

CS 111: Program Design I Lecture 5: US Law when others have encryption keys; if, for

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design

Python Programming: An Introduction to Computer Science

Operating System Concepts. Operating System Concepts

BEA WebLogic Server. Installing and Setting up WebLogic Server 5.1

MR-2010I %MktBSize Macro 989. %MktBSize Macro

Web OS Switch Software

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Workflow Extensions User Guide. StarTeam 12.0

TruVu 360 User Community. SpectroCare. Enterprise Fluid Intelligence for Predictive Maintenance. TruVu 360 Product Information

n Maurice Wilkes, 1949 n Organize software to minimize errors. n Eliminate most of the errors we made anyway.

Τεχνολογία Λογισμικού

Numerical Methods Lecture 6 - Curve Fitting Techniques

Lower Bounds for Sorting

System and Software Architecture Description (SSAD)

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

BEA WebLogic Enterprise. Using the WebLogic EJB Deployer

Package RcppRoll. December 22, 2014

Bike MS: 2013 Participant Center guide

Bike MS: 2014 Participant Center guide

Oracle Server. What s New in this Release? Release Notes

C++, Visual C++, and Managed C++: What s the Difference?

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

CS 111 Green: Program Design I Lecture 27: Speed (cont.); parting thoughts

10/23/18. File class in Java. Scanner reminder. Files. Opening a file for reading. Scanner reminder. File Input and Output

Weston Anniversary Fund

BST Sequence of Operations

Our second algorithm. Comp 135 Machine Learning Computer Science Tufts University. Decision Trees. Decision Trees. Decision Trees.

Computers and Scientific Thinking

LifeBook P Series Notebook BIOS BIOS SETUP UTILITY

CS 111: Program Design I Lecture 21: Network Analysis. Robert H. Sloan & Richard Warner University of Illinois at Chicago April 10, 2018

BEA WebLogic XML/Non-XML Translator

Guide to Applying Online

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Getting Started. Getting Started - 1

Lecture 1: Introduction and Strassen s Algorithm

What Is Object-Orientation?

Baan Tools User Management

Switch Construction CS

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

Customer Portal Quick Reference User Guide

Homework 1 Solutions MA 522 Fall 2017

Message Integrity and Hash Functions. TELE3119: Week4

Introduction to Sigma Notation

Introduction to Pattern Oriented Analysis and Design (POAD) Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU

IS-IS in Detail. ISP Workshops

Greedy Algorithms. Interval Scheduling. Greedy Algorithms. Interval scheduling. Greedy Algorithms. Interval Scheduling

Chapter 5: Processor Design Advanced Topics. Microprogramming: Basic Idea

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs

prerequisites: 6.046, 6.041/2, ability to do proofs Randomized algorithms: make random choices during run. Main benefits:

Elementary Educational Computer

BIKE MS: 2015 PARTICIPANT CENTER GUIDE

CS 111: Program Design I Lecture 16: Module Review, Encodings, Lists

Σ P(i) ( depth T (K i ) + 1),

Avid recommends that you read all the information in this ReadMe file thoroughly before installing or using any new software release.

The number n of subintervals times the length h of subintervals gives length of interval (b-a).

Transcription:

Workflow model GM AR Gumpy RM Dyagump At a very high level, this is what gump does. We ll be lookig at each of the items described here seperately. User edits project descriptor ad commits s maitai their ow descriptors (based o the GOM or maves POM) The Gump Metadata (GM) is built from those GOMs ad POMS (as a RDBMS, potetially) Gump checks out or updates stuff ad rus build scripts Gump seds certai output ito the artifact repository Gump seds build results ad iformatio ito the Rutime Metadata (RDBMS with history iformatio) Dyagump seds e-mails ad the like based o that Dyagump geerates user reports o demad

<workspace> <module> <sv /> <project ame= myproject > <at target= jar /> <jar ame= build/myproject.jar /> <deped ame= otherproject /> </project> </module> <module href= project/other.xml > </workspace> XML files. Most live i Gump CVS (will live i Gump SVN). Similar to mave project.xml files Ca split up ito multiple files (across repositories) usig hrefs <module/> for each CVS or SVN module <project/>, usually for each uit that produces somethig (ie a jar file), may also ru tests or geerate docs or s declare iputs (depedecies), outputs, ad build commads (<at/>, <mave/>, <mkdir/> ) See http://gump.apache.org/metadata/, actually a lot of docs o these Lear by example look at setups for other projects TODO: We wat to make gump read mave project.xml files 2

GM Metadata Workspace Module Module Module Gumpy builds a object graph i memory (gump.model package) which cotais all the gump itelligece regardig the model, for example, it will fill out the model with defaults if some elemets are omitted, ad trasform the way depedecies are specified ito a stadard way. It is a bit of a shame that most of what goes o here is ot documeted. Rather, the assumptios made here ca oly be retrieved from seeig how the actual XML descriptors we use actually lead up to somethig. Fortuately for ed users, you ever eed to see most of this. 3

AR Artifact Repository myproject.jar Gumpy maitais a repository of all the stuff that it has built. But we cosider it iteral-use oly: because Gump is iheretly usecure (we dowload arbitrary code from arbitrary CVS that ca execute arbitrary commads), these files could cotais bugs or eve viruses! 4

Gumpy Gumpy <<rus>> Builder 4 <<rus>> <<starts>> Ruer CLI Actor 5 <<updates>> Checkouts <<reads>> Updater Loader 2 3 <<creates>> <<creates>> Ru <<rus>> Actor Actor Workspace GM Module Module Module <<reads,aotates>> <<rus>> <<iteracts>> SVN,CMS, Files, Mailig lists, Database, Website, Gumpy is our buildmeister, a object-orieted pytho egie which hadles all differet kids of tasks, which we split up ito bits called Work. These Work items are hadled by either a core compoet (Ruer, Loader, Updater or Builder) or by a Actor (documeter, otifier, ad others). The workflow is as follows: A commad is started from a crojob This commad does a self-update, iitializatio, parses optios, sets up loggig, etc Now, a Ruer is created, which cotais most of the core build logic It delegates to the Loader to build a Gump Object Model i memory from the xml descriptors Next it fires up the Update which checks out or updates materials from versio cotrol It is ow time to start doig real thigs. The mai task is buildig all the differet projects, which the Builder hadles. The ruer also refereces several Actors, which ca cause side effects, like sedig out e-mail. TODOs: It would probably be better to make Builder, Updater ad perhaps 5

RM time-ivariat Rutime Metadata (RM) eviromet Host Ru address properties uri timestamp uri ame Package Workspace depedecies Result success failure halt Build uri log _versio timestamp Module url descriptor uri descriptor The RM database is the basis for most of gump s itelliget behaviour. By careful aalysis of the data i this database, we ca figure out who caused what to break whe, which projects are logterm problematic, etc etc. The RM database is differet from what happes before it (ie the stuff that Gumpy does) i that it models time. Gumpy simply rus several times a day ad publishes the result of each ru, but it does t try ad compare those rus to each other. Istead, Gumpy pushes data ito the RM so that Dyagump ca do that aalysis. Hosts are idetifiers for physical machies; besides a address (ie brutus.apache.org) they have certai ifo about it, like the # ad type of cpu. Workspaces are gump rus cofigured with some particular set of parameters that might ifluece the way it builds (like the live build or the kaffe build o a machie). Decisios which chage over time (by a gump admi chagig somethig) are i the workspace rather tha directly with the host. Rus are the complete sets of results for ay particular gump ru. They specify what istalled packages (for example java versio or kerel versio) was built agaist, ie the etire eviromet, as well as all the builds that were ru. Thigs which chage over time (out of the gump admi s direct cocious cotrol) are part of a ru rather tha the workspace. 6

Dyagump I do t really get it! Could you make gump easier to use? Ad make it a little prettier as well? DyaGump is curretly uder developmet. We do t kow exactly what it will look like (Shiy! Sweet! Cool!) ad its featureset is still beig thought about. The key thig we wat to do here is make gump easier to use. Better reportig, friedlier e-mails, etc etc. Watch this space! 7