UML diagrams for the AliEn job execution part and PackMan service

Slides:



Advertisements
Similar presentations
Object-Oriented Software Engineering Visual OO Analysis and Design
Advertisements

During the last three years, ALICE has used AliEn continuously. All the activities needed by the experiment (Monte Carlo productions, raw data registration,
DataGrid Kimmo Soikkeli Ilkka Sormunen. What is DataGrid? DataGrid is a project that aims to enable access to geographically distributed computing power.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
Apache Airavata GSOC Knowledge and Expertise Computational Resources Scientific Instruments Algorithms and Models Archived Data and Metadata Advanced.
GRID job tracking and monitoring Dmitry Rogozin Laboratory of Particle Physics, JINR 07/08/ /09/2006.
1 ANSL site of LHC and ALICE Computing Grids. Deployment and Operation. Narine Manukyan ALICE team of A.I. Alikhanian National Scientific Laboratory
AliEn uses bbFTP for the file transfers. Every FTD runs a server, and all the others FTD can connect and authenticate to it using certificates. bbFTP implements.
Resource Management and Accounting Working Group Working Group Scope and Components Progress made Current issues being worked Next steps Discussions involving.
Flexibility and user-friendliness of grid portals: the PROGRESS approach Michal Kosiedowski
Managed by UT-Battelle for the Department of Energy 1 Integrated Catalogue (ICAT) Auto Update System Presented by Jessica Feng Research Alliance in Math.
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES P. Saiz (IT-ES) AliEn job agents.
CERN IT Department CH-1211 Genève 23 Switzerland t Internet Services Job Monitoring for the LHC experiments Irina Sidorova (CERN, JINR) on.
The PROGRESS Grid Service Provider Maciej Bogdański Portals & Portlets 2003 Edinburgh, July 14th-17th.
Problem Statement: Users can get too busy at work or at home to check the current weather condition for sever weather. Many of the free weather software.
November SC06 Tampa F.Fanzago CRAB a user-friendly tool for CMS distributed analysis Federica Fanzago INFN-PADOVA for CRAB team.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
T3 analysis Facility V. Bucard, F.Furano, A.Maier, R.Santana, R. Santinelli T3 Analysis Facility The LHCb Computing Model divides collaboration affiliated.
David Adams ATLAS DIAL/ADA JDL and catalogs David Adams BNL December 4, 2003 ATLAS software workshop Production session CERN.
AliEn AliEn at OSC The ALICE distributed computing environment by Bjørn S. Nilsen The Ohio State University.
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES A. Abramyan, S. Bagansco, S. Banerjee, L. Betev, F. Carminati,
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Korea Workshop May GAE CMS Analysis (Example) Michael Thomas (on behalf of the GAE group)
JAliEn Java AliEn middleware A. Grigoras, C. Grigoras, M. Pedreira P Saiz, S. Schreiner ALICE Offline Week – June 2013.
K. Harrison CERN, 22nd September 2004 GANGA: ADA USER INTERFACE - Ganga release status - Job-Options Editor - Python support for AJDL - Job Builder - Python.
EGEE is a project funded by the European Union under contract IST Package Manager Predrag Buncic JRA1 ARDA 21/10/04
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES P. Saiz The future of AliEn.
D.Spiga, L.Servoli, L.Faina INFN & University of Perugia CRAB WorkFlow : CRAB: CMS Remote Analysis Builder A CMS specific tool written in python and developed.
10 March Andrey Grid Tools Working Prototype of Distributed Computing Infrastructure for Physics Analysis SUNY.
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES The AliEn File Catalogue Jamboree on Evolution of WLCG Data &
SAM architecture EGEE 07 Service Availability Monitor for the LHC experiments Simone Campana, Alessandro Di Girolamo, Nicolò Magini, Patricia Mendez Lorenzo,
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES A. Abramyan, S. Bagnasco, L. Betev, D. Goyal, A. Grigoras, C.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
MIKADO – Generation of ISO – SeaDataNet metadata files
Architecture Review 10/11/2004
Development Environment
ALICE and LCG Stefano Bagnasco I.N.F.N. Torino
Chapter 1: Introduction to Systems Analysis and Design
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Running a job on the grid is easier than you think!
Architecture Concept Documents
ALICE FAIR Meeting KVI, 2010 Kilian Schwarz GSI.
INFN-GRID Workshop Bari, October, 26, 2004
Unified Modeling Language
Simulation use cases for T2 in ALICE
Task Management System (TMS)
LCG Monte-Carlo Events Data Base: current status and plans
PHP / MySQL Introduction
LCG middleware and LHC experiments ARDA project
UML: Unified modeling language
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
A tool for presentation of Architecture
A tool for presentation of Architecture
Service-centric Software Engineering
Leigh Grundhoefer Indiana University
Unified Modeling Language
Module 01 ETICS Overview ETICS Online Tutorials
Analysis models and design models
Software Design Lecture : 15.
An Introduction to Software Architecture
Chapter 7 –Implementation Issues
Chapter 1: Introduction to Systems Analysis and Design
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Chapter 1: Introduction to Systems Analysis and Design
Production Manager Tools (New Architecture)
Web Application Development Using PHP
Presentation transcript:

UML diagrams for the AliEn job execution part and PackMan service Armenuhi Abramyan A.I. Alikhanyan National Scientific Laboratory aabramya@mail.yerphi.am

Outline AliEn Services Demand for improvement of AliEn services Unified Modeling Language Sequence diagrams How the diagrams are created Installing the UML::Sequence tool Converting the Perl code to the text format Passing created file to the UML::Sequence tool How to read the generated diagram Sequence diagrams for AliEn job execution part Sequence diagrams for AliEn PackMan service Conclusion Acknowledgements

Running on Worker Node: AliEn Services The core components of AliEn infrastructure are Web services, which communicate with each other via XML-based messages using SOAP (Simple Object Access Protocol) protocol. The major part of AliEn (about 95%) is constructed from the components of a large number of the common Open Source software (such as Globus/GSI, OpenSSL, OpenLDAP, SOAPLite, MySQL, Perl). The native AliEn code is written predominantly in Perl. The AliEn services can be divided into 2 categories: Central services: Site services: Application Programming Interface, Authentication, Job Manager, Transfer Manager, Job Broker, Transfer Broker, Task Queue and File Catalogue databases, Transfer Optimizer, Catalogue Optimizer, Job Optimizer, FTD, MonALISA, Logger and Information Service. Computing Element, Cluster Monitor, Package Manager, MonALISA, Running on Worker Node: Job Agent

Demand for improvement of AliEn services Starting with the commissioning of ALICE detector in the end of 2009 and experimental data taking and analysis, one has been observing a very rapid growth of the number of submitted jobs requiring large computing time and resources run on AliEn. This growth has put AliEn under pressure of extreme loads, which revealed an inadequate reaction of some of its services, such as PackMan and File Catalogue. These services need to be reworked and optimized to sustain the high load.

Transparent view of the AliEn functionality In order to support the continuous process of the improvement of AliEn services and facilitate the effective involvement of new developers, ALICE Offline group has decided to provide them with a transparent view of the AliEn functionality. This is done by means of diagrams describing the dynamic behaviour of AliEn services, their interrelationship. Currently the diagrams for the following operations are available: File transfers - Lola Saiz Santos Job execution – Armenuhi Abramyan (A. A.) Experiment software packages installation and configuration (PackMan) – A. A. Basic Catalogue functions (directory creation, file registration and removal, etc) – A. A. http://alien2.cern.ch/index.php?option=com_content&view=article&id=84%3Adeveloper-main&catid=7&Itemid=64 The diagrams are represented in Unified Modeling Language

Unified Modeling Language (UML) UML is developed by the Object Management Group (http://omg.org) as a standard language for software systems development and analysis. It gives possibility to represent the system architecture and functioning dynamics on the base of different types of diagrams, created using standardized graphical notations. In the UML version 2.2 there are 14 types of diagrams divided into 2 categories: Structure diagrams (such as Class Diagram, Object Diagram, Deployment Diagram, Package Diagram) Behavior diagrams (such as Sequence Diagram, Activity Diagram, Use Case Diagram, Timing Diagram).

UML Sequence diagrams Sequence diagram is a particular case of UML interaction diagrams representing (or modeling) the dynamic behavior of a system through the tracing of the sequence of interactions that occur between the objects or components of a system. The Sequence diagram is one of the most widely used dynamic diagrams in UML. For creating the Sequence diagrams for AliEn functionality, I have used UML::Sequence tool. It takes as input tool-specific textual description of the code and produces the Sequence diagrams. To my knowledge, there is no open source software tool that allows creation of Sequence diagrams directly from Perl-written code.

How the diagrams are created The creation of diagrams for the AliEn services has been done by: 0. Installing the UML::Sequence tool; 1. Manually converting the Perl code to the text format (plain text) file; 2. Passing the text file to the UML::Sequence modeling tool.

0. Installing the UML::Sequence tool 1. Enter to the Perl CPAN shell (it is assumed that the Perl is already installed) #> perl -MCPAN -e shell 2. Install the GD::Text::Wrap module which is prerequisite for UML::Sequence cpan> install GD::Text::Wrap 3. Install the UML::Sequence module from CPAN shell cpan> install UML::Sequence This will require and ask for installation of the following dependencies: XML::DOM, GD, XML::Parser::PerlSAX, XML::RegExp

1. Converting the Perl code to the text format A snippet of Perl code (PackMan.pm) Corresponding plain text (input.txt) sub definePackage { ... my $lfnDir=lc($self->{CATALOGUE}->{CATALOG}-> GetHomeDirectory()."/packages"); while (my $arg=shift){ if ($arg=~ /^-?-se$/ ) { ... } } $self->{CATALOGUE}->{CATALOG}->isFile($lfn) and $self->info( "The package $lfn already exists") and return; … AliEn::PackMan:: AliEn::PackMan.definePackage AliEn::Catalogue.GetHomeDirectory -> $lfnDir AliEn::Catalogue.check arguments AliEn::Catalogue.isFile … check arguments

2. Passing created file to the UML::Sequence tool The generated diagram AliEn::PackMan:: AliEn::PackMan.definePackage AliEn::Catalogue.GetHomeDirectory -> $lfnDir AliEn::Catalogue.check arguments AliEn::Catalogue.isFile # checks that the package $lfn ... AliEn::UI::Catalogue.execute (mkdir -p) -> done AliEn::UI::Catalogue.execute (addTag) -> done AliEn::UI::Catalogue.execute (add) -> done AliEn::UI::Catalogue.execute (addTagValue) -> done AliEn::Database.do (update) # Package $lfn added!!! The plain text (input.txt) 1 2 $> genericseq.pl UML::Sequence::SimpleSeq input.txt \ | seq2rast.pl > pack-define.png or | seq2svg.pl > pack-define.svg The diagram generation command(s)

How to read the generated diagram T i m e the components of the AliEn (perl modules) main activation (the whole process ) activation (represents the function execution process) function calls comment returned values

Sequence diagrams for AliEn job execution part The whole chain of successful statuses the job execution, after its submission by a user.

Submission stage

Optimizer stage

Broker/Agent stage

Output registration stage

Sequence diagrams for AliEn PackMan service AliEn provides a service for automatic installation (on demand of Job Agent or upon an explicit request by the software manager of ALICE Virtual Organization) of the software packages required by the job. The installation, upgrade, configuration and removal of application software packages are done by the AliEn Package Manager (PackMan) service. The basic commands of the PackMan service are the following: packman define - After execution of this command, the software to be installed is registered in the AliEn File Catalogue; packman list – The list of all the packages that are defined in the system is returned; packman listInstalled – To return the list of all packages installed on the site; packman install - By this command PackMan installs a registered in the AliEn File Catalogue package (and all its dependencies) in the package repository of the PackMan. packman undefine – To remove a package from the AliEn File Catalogue. http://alien2.cern.ch/index.php?option=com_content&view=article&id=103%3Apackman&catid=7&Itemid=64

Conclusion In order to support the effective involvement of new developers in the AliEn development process, the ALICE Offline team has decided to develop a whole set of the UML diagrams describing the dynamic behaviour of AliEn services. By now the diagrams describing the AliEn Job execution part and PackMan service have been created and presented on the AliEn official documentation web pages for the developers. The work on the development of the diagrams for the other AliEn services is under way.

Acknowledgments I am grateful to Latchezar Betev for suggesting me this work and making numerous useful comments. I appreciate the collaboration with Pablo Saiz in the development of presented UML diagrams. The discussions with the colleagues from ANSL and CERN: Federico Carminati, Ara Grigoryan, Artem Harutyunyan, Arsen Hayrapetyan, Narine Manukyan, Vardanush Papikyan and Lola Saiz Santos, helped me to understand many details of AliEn and UML. My work was supported by the Grant of the World Federation of Scientists, within the Armenian H.E.P. National Scholarship Programme.

Thank you