Superconducting Super Collider Laboratory. Bridging Fortran to Object Oriented Paradigm for HEP Data Modeling Task. J. Huang

Similar documents
ESNET Requirements for Physics Reseirch at the SSCL

Superconducting Super Collider Laboratory

Adding a System Call to Plan 9

Fermi National Accelerator Laboratory

ACCELERATOR OPERATION MANAGEMENT USING OBJECTS*

NIF ICCS Test Controller for Automated & Manual Testing

GA A22637 REAL TIME EQUILIBRIUM RECONSTRUCTION FOR CONTROL OF THE DISCHARGE IN THE DIII D TOKAMAK

In-Field Programming of Smart Meter and Meter Firmware Upgrade

OPTIMIZING CHEMICAL SENSOR ARRAY SIZES

CHANGING THE WAY WE LOOK AT NUCLEAR

Go SOLAR Online Permitting System A Guide for Applicants November 2012

Graphical Programming of Telerobotic Tasks

On Demand Meter Reading from CIS

zorder-lib: Library API for Z-Order Memory Layout

and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.

Portable Data Acquisition System

Integrated Volt VAR Control Centralized

TUCKER WIRELINE OPEN HOLE WIRELINE LOGGING

Development of Web Applications for Savannah River Site

VxWorks v5.1 Benchmark Tests

Real Time Price HAN Device Provisioning

Cross-Track Coherent Stereo Collections

REAL-TIME MULTIPLE NETWORKED VIEWER CAPABILITY OF THE DIII D EC DATA ACQUISITION SYSTEM

NATIONAL GEOSCIENCE DATA REPOSITORY SYSTEM

5A&-qg-oOL6c AN INTERNET ENABLED IMPACT LIMITER MATERIAL DATABASE

Bridging The Gap Between Industry And Academia

GA A22720 THE DIII D ECH MULTIPLE GYROTRON CONTROL SYSTEM

GA A26400 CUSTOMIZABLE SCIENTIFIC WEB-PORTAL FOR DIII-D NUCLEAR FUSION EXPERIMENT

METADATA REGISTRY, ISO/IEC 11179

2 Databases for calibration and bookkeeping purposes

Tim Draelos, Mark Harris, Pres Herrington, and Dick Kromer Monitoring Technologies Department Sandia National Laboratories

SmartSacramento Distribution Automation

REAL-TIME CONTROL OF DIII D PLASMA DISCHARGES USING A LINUX ALPHA COMPUTING CLUSTER

FY97 ICCS Prototype Specification

High Scalability Resource Management with SLURM Supercomputing 2008 November 2008

@ST1. JUt EVALUATION OF A PROTOTYPE INFRASOUND SYSTEM ABSTRACT. Tom Sandoval (Contractor) Los Alamos National Laboratory Contract # W7405-ENG-36

Saiidia National Laboratories. work completed under DOE ST485D sponsored by DOE

DOE EM Web Refresh Project and LLNL Building 280

Stereo Vision Based Automated Grasp Planning

The NMT-5 Criticality Database

Collaborating with Human Factors when Designing an Electronic Textbook

COMPUTATIONAL FLUID DYNAMICS (CFD) ANALYSIS AND DEVELOPMENT OF HALON- REPLACEMENT FIRE EXTINGUISHING SYSTEMS (PHASE II)

Testing PL/SQL with Ounit UCRL-PRES

DERIVATIVE-FREE OPTIMIZATION ENHANCED-SURROGATE MODEL DEVELOPMENT FOR OPTIMIZATION. Alison Cozad, Nick Sahinidis, David Miller

A REMOTE CONTROL ROOM AT DIII-D

Recommendations for LXI systems containing devices supporting different versions of IEEE 1588

Superconducting Super Collider Laboratory

The ANLABM SP Scheduling System

NFRC Spectral Data Library #4 for use with the WINDOW 4.1 Computer Program

ENDF/B-VII.1 versus ENDFB/-VII.0: What s Different?

Intelligent Grid and Lessons Learned. April 26, 2011 SWEDE Conference

Big Computing and the Mitchell Institute for Fundamental Physics and Astronomy. David Toback

A VERSATILE DIGITAL VIDEO ENGINE FOR SAFEGUARDS AND SECURITY APPLICATIONS

Clusters Using Nonlinear Magnification

Washington DC October Consumer Engagement. October 4, Gail Allen, Sr. Manager, Customer Solutions

Site Impact Policies for Website Use

Protecting Control Systems from Cyber Attack: A Primer on How to Safeguard Your Utility May 15, 2012

Centrally Managed. Ding Jun JLAB-ACC This process of name resolution and control point location

Advanced Synchrophasor Protocol DE-OE-859. Project Overview. Russell Robertson March 22, 2017

ALAMO: Automatic Learning of Algebraic Models for Optimization

Entergy Phasor Project Phasor Gateway Implementation

A Prototype of the CMS Object Oriented Reconstruction and Analysis Framework for the Beam Test Data

Reduced Order Models for Oxycombustion Boiler Optimization

Large Scale Test Simulations using the Virtual Environment for Test Optimization

MULTIPLE HIGH VOLTAGE MODULATORS OPERATING INDEPENDENTLY FROM A SINGLE COMMON 100 kv dc POWER SUPPLY

Optimizing Bandwidth Utilization in Packet Based Telemetry Systems. Jeffrey R Kalibjian

Contributors: Surabhi Jain, Gengbin Zheng, Maria Garzaran, Jim Cownie, Taru Doodi, and Terry L. Wilmarth

Invenio: A Modern Digital Library for Grey Literature

Capturing and Analyzing User Behavior in Large Digital Libraries

MAS. &lliedsignal. Design of Intertransition Digitizing Decomutator KCP Federal Manufacturing & Technologies. K. L.

HippoDraw and Hippoplotamus*

for use with the WINDOW 4.1 Computer Program

Southern Company Smart Grid

Alignment and Micro-Inspection System

LosAlamos National Laboratory LosAlamos New Mexico HEXAHEDRON, WEDGE, TETRAHEDRON, AND PYRAMID DIFFUSION OPERATOR DISCRETIZATION

1 Introduction. V. Fine, Y. l%yak,?? Perevoztchikov, T.Wenaus

Big Data Computing for GIS Data Discovery

Resource Management at LLNL SLURM Version 1.2

National Accelerator Laboratory

The Cheetah Data Management System *

Testing of PVODE, a Parallel ODE Solver

RECENT ENHANCEMENTS TO ANALYZED DATA ACQUISITION AND REMOTE PARTICIPATION AT THE DIII D NATIONAL FUSION FACILITY

PJM Interconnection Smart Grid Investment Grant Update

Network Working Group Request for Comments: 4869 Category: Informational May Suite B Cryptographic Suites for IPsec. Status of This Memo

IEPSAS-Kosice: experiences in running LCG site

PJM Interconnection Smart Grid Investment Grant Update

A CAMERA SHUTTER USED IN HIGH RESOLUTION BUBBLE CHAMBER PHOTOGRAPHY* J. D. Ferrie, R. C. Field and D. A. Talaska

KCP&L SmartGrid Demonstration

Leonard E. Duda Sandia National Laboratories. PO Box 5800, MS 0665 Albuquerque, NM

Evaluating and Improving Cybersecurity Capabilities of the Electricity Critical Infrastructure

DatAlign IMPLEMENTATION OF THE NEW APS SURVEY AND ALIGNMENT DATABASE *

Post Disaster Needs Assessment Guide and

MASTER PNL-SA M. Rosing. June 1995

Monte Carlo programs

zapnote PARASOFT Briefing Date: June 13, 2002 Analyst: Jason Bloomberg

BWXT Y-12 Y-12. A BWXT/Bechtel Enterprise COMPUTER GENERATED INPUTS FOR NMIS PROCESSOR VERIFICATION. Y-12 National Security Complex

The creation of a Tier-1 Data Center for the ALICE experiment in the UNAM. Lukas Nellen ICN-UNAM

Parallel Execution of Functional Mock-up Units in Buildings Modeling

Researching New Ways to Build a Cybersecurity Workforce

A COMBINED PLC AND CPU APPROACH TO MULTIPROCESSOR CONTROL

Transcription:

SSCL-Preprint447 December 1993 Distribution Category: 400 J. Huang Bridging Fortran to Object Oriented Paradigm for HEP Data Modeling Task Superconducting Super Collider Laboratory

c 1 Disclaimer Notice This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government or any agency thereof, nor any of their employees. makes any warranty, express or implied, or assumes any legal liabilityor responsibility for the accuracy, completeness, or usefulness of any information. apparatus. product, or process disolosed. or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or sewice by trade name. trademark, manufacturer, or otherwise, does not necessarily mnstitute or imply its endwsement, recommendation, or favoring by the United States Government or any agency thereof. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof. SuperconductingSuper Collider Laboratory is an equal opportunity employer.

DISCLAIMER Portions of this document may be illegible in electronic image products. Images are produced from the best available original document.

SSCL-Preprint-547 Bridging Fortran to Object Oriented Paradigm for HEP Data Modeling Task* J. Huang Superconducting Super Collider Laboratory? 2550 Beckleymeade Ave. Dallas, TX 75237, USA December 1993 *Presented at the Third International Workshop on Software Engineering, Artificial Intelligence and Expert Systems for High Energy and Nuclear Physics, October 4-8, 1993, Oberammergau, Germany.?Operated by the Universities Research Association, Inc., for the U.S. Department of Energy under Contract NO. DE-AC35-89ER40486.

THIRD INTERNATIONAL WORKSHOP ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE AND EXPERT SYSTEMS FOR HIGH ENERGY AND NUCLEAR PHYSICS October 4-8,1993 OBERAMMERGAU, Oberbayern, Germany Under the Sponsorship of the GERMAN PHYSICAL, S0CIEI"Y and EUROPEAN PHYSICAL s0ciei"y

BRIDGING FORTRAN TO OBJECT ORIENTED PARADIGM FOR HEP DATA MODELING TASK Jean Hung Superconducting Super Collider hboratory, 2550 Beckleyrneade Avenue, Dallas, Texas 75237, USA jhuang@ssc.gov ABSTRACT Object oriented (00) technology appears to offer tangible benefits to thehigh energy physics OEP) community.yet, many physicists view thisnewest software development trend with much reservation and reluctance. Facing the reality of having to support the existin8 physics applications,which are written in FORTRAN,the software engineersin thecomputer Engmeering Group of the Physics Research Division at the Suprumdwting Super Collider Laboratmy have accepted the challenge of mixing an old language with the new technology. This paper describes the experience and the techniques devised to fit FORTRAN into the 00 paradigm (OOP). 1. Background Traditionally, physicists who design and implement particle physics experiment software use the FORTRAN language. While FORTRAN is well-suited to writing algorithms, its homogeneous elements of ARRAY and COMMON BLOCK are very inadequate for complex data structure design. To compensate for the data-structuring deficiency in the FORTRAN language, the high energy physics (=) community has developed several solutions of their own. ZEBRA1, the hierarchical structure; YBOS2, the list of banks; and ADAMO~,the relational model, are among the most commonly used data-management systems. Since the 1980s, different approaches have been taken to implement the complex algorithm and data abstraction for physics application software. Instead of hanging onto the FORTRAN language with its constraint of old technology, groups of physicists have adapted the newest trend in the computer industry, the object oriented (00)approach. The PION project4 at CERN, has used Object Oriented Paradigm (OOP) techniques for a specializedgraphics application; the SLAC Reason projec&6, has implemented a graphical interactive analysis environment; and recently the Gismo originally developed on a NeXT computer using Objective-C, utilized OOP techniques. These projects were not only successful in testing the 00 technology, their works are having a significant influence in changing the way physics applications are designed and developed. From the computing point-of-view, it is inevitable to seriously consider using object oriented technology if the tangible benefits offered by the computer industry are to be realized. The physics

applications map quite well to the object oriented paradigm, since the original concepts are of an abstract nature; however, technology migration of any sort is a gradual process. It takes years to complete such a transition. Many physicists will continue to devote their energy to analyze HEP data using the Fortran language and will view this newest software development trend with reservation and reluctance. Facing the reality of having to support FORTRAN applications, the physicists and software engineers in the Computer Engineering Group (CEG) of the Physics Research Division (PRD) at the Superconducting Super Collider Laboratory (SSCL)have accepted the challenge and have done some experiments that mix the old language with the new technology. The following sections describe various approaches to bridge the language to the object oriented paradigm, as well as lessons learned from the experiments. The experience will be applied to the data-modeling project, the objectives of which are to provide a data-modeling environment and to establish a standardized data model and its repository systems for supporting physics computing activities. 2. Generic Interface Approach The first experiment done by the PRD computer engineering group was the Object Class Library for the SZ++ Package by Dr.B. Traversat. This package is an initial C++ version for hierarchical data structure memory management services that was originally provided by the ZEBRA Management System. It organized ZEBRA banks into a double-linked list class, and further defined bank attributes through derived classes. The initial work started with s k classes. Figure l shows the inheritance of the classes. The following list is a brief description of each class: DoubZe-linkedList Base Class implements a generic double-linked list. Zebra Bunk Base Class derived from the dblink. It adds basic ZEBRA bank information. bank-head Class derived from the bank class. It serves as a link point. bank3x Class derived from the bank class. It implements a fixed-size bank. bank-var Class derived from the bank class. It implements variable-size banks. SZ Class manages the entire event structure and implements the SZ MI to Fortran. The organization of the data bank is separated from the design of the application programming interface. This approach leads to the design of a platform that spares the user from worrying about the underlying details of data-management systems. The following are the application interface subroutines of the SZ++ package for the Fortran language: szbini() initializes the SZ control structure. szfilz() fills a bank. szget() gets bank value. szdrop() drops a bank. szsurv() displays structure of a bank. szshow() displays content of a bank.

szexist() tests whether a bank tree name exists. z sznum() returns the max bank number. szwipe() wipes out a bank. Although the SZ++ package provides a generic Fortran interface to the object oriented realm, due to its close relationship with the ZEBRA package, the design is very much bank-oriented. dblink I sz I Figure 1: SZ++Classes 3. Ad Hoc Approach There are several projects in PRD that involve programs written in mixed languages of Fortran, C, and C++. They come in two different forms:the C or C++ main program calls Fortran subroutines, or vice versa. These projects are usually concentrated on the database and graphical user interface designed for storing and retrieving data with a limited set of functionality. These projects were able to take advantage of the most updated computer technology of the databases and graphical user interface, but none of them put much consideration into providing a unified platform that would allow Fortran applications to work freely. Most of the time, a small modification in the header file structure requires changes to be made in the Fortran subroutine to reflect the mapping. This volatility renders impossible large-scale projects that require services for the general applications.

Figure 2 shows the call pattern of the ad hoc approach. I Graphical User Interface Sophisticated Data Management Systems ~~ Figure 2: Ad Hoc Approach 4. Bridging Concerns When bridging the Fortran language to the 00 paradigm, the major concern is how to communicate with the more sophisticated data-structuring facility of a 00-suitable language. Both generic and ad hoc approaches encounter problems related to naming of routines, parameter passing and call positioning: Naming This problem is usually solved by adding an underscore to the subroutine names on the Fortran side. Calling The concern is which language should be used for writing the main program, and its associated linking considerations. Parameter passing This deals with the matching between the scattered parameters of the Fortran and the attributes defined in a more sophisticated lanpage. All the issues stated above are compiler-dependent. Porting software between systems may require some attention to the differences between compilers. According to the experience gained in experimental projects done in the Physics Research Computing Department (PRCD), it is not difficult to mix the Fortran language with C++ or C.

5. Conclusion I? 1 Lessons learned from these 00 experiments will be applied to the development tasks of the joint Data Modeling (DM) Project effort of the Gamma, Electrons, and Muons (GEM) Collaboration, Solenoidal Detector Collaboration (SDC), and PRCD. The purpose of the DM Project is to develop the standardized data-modeling environment and HEP data models necessary to support computing activities of GEM and SDC. Since mixing the programming languages is not a difficult task, the future DM effort will focus on the HEP data-model design and a generic platform that provides data-access services to software developers. Eventually, this data-modeling environment, which also includes tools for data analysis, data design, and data definition, will be integrated with the SSCL Framework" Object Management Services environment and the Physics Research Integrated Computing Development Environment (PRIDE) '. With the increasing complexity and advancing pace of computer technology, it is obvious that the tools and services provided by the DM environment will be acquired mostly from the computer industry, research, and academic institutions. Evidently, object oriented technology continues to gain momentum in setting the direction of today's computer software development. In order to take advantage of the technology offered by industry, the object oriented approach has been chosen for development work of the Data Modeling project. The C t t language will most likely be used due to its close relationship with the 00 technology and its wide acceptance by the software community. The development of computer technology in the physics community, however, is perceived in different shades of light. Changing from one programming language to another in a community with diversified awareness is a slow process. To best serve the GEM/SDC collaboration, an access mechanism that supports mapping of multiple programming languages, especially the Fortran language, is necessary until the majority has made the transition. 6. References 1. R. Brun, et al., ZEBRA - Kernel Data Structure Management System, CERN Computer Center Program Library Long Write-up, QlOO. 2. David Quarrie, et al., YBOS programmers reference manual, Fermilab, CDF Note No. 156. 3. S.M. Fisher, The ADAM0 data system, CERNBCPPT d y y Real..., November 1991. 4. J. Bettels and D. Myers, The PIONS Graphics System, IEEE Computer Graphics and Applications, Vol. 6, No. 7 (July 1986). 5. W.B. Atwood, et al., The Reason Project, SLAC-PUB-5242 (April 1990) llp. 6. Paul F. Kunz, Physics analysis tools, SLAC-PUB-5520 (April 1990) 1lp. 7. W.B. Atwood, et al., GISMO: An object oriented programfor high-energyphysics event simulation and reconstruction, CERN Preprint ECP 91-15. 8. W.B. Atwood, et al., Gismo: C++ Classesfor HEP, C++ Report, March-April 1993. 9. W.B. Atwood, et al., The Gismo Project - C++ at work in high energyphysics. 10. S. Frederiksen, et al., Framework Somare Project Assignment Plan and Framework SofhYare Project Execution Plan, SSCL, PRCD R40-000010.

1 1. J. Burton, et al., Physics Research Integrated Development Environment (PRIDE), presented at the Third International Workshop on Software Engineering, Artificial Intelligence and Expert Systems for High Energy and Nuclear Physics, October 1993.