Improvement of G4Exception (and an announcement on G4ApplicationState) Makoto Asai (SLAC) on behalf of Architecture team.

Slides:



Advertisements
Similar presentations
JQuery MessageBoard. Lets use jQuery and AJAX in combination with a database to update and retrieve information without refreshing the page. Here we will.
Advertisements

Banner Spreadsheet Budgeting LaSalle University
Configuration management
Configuration management
Using the Self Service BMC Helpdesk
VISTA RDC rdc.eortc.be EORTC Remote Data Capture System For trials that started before 01/01/2009.
C Language.
The Interface Definition Language for Fail-Safe C Kohei Suenaga, Yutaka Oiwa, Eijiro Sumii, Akinori Yonezawa University of Tokyko.
Module R2 CS450. Next Week R1 is due next Friday ▫Bring manuals in a binder - make sure to have a cover page with group number, module, and date. You.
July 2010 D2.1 Upgrading strategy Javier Soto Catalog Release 3. Communities.
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
23 March 2007Event Biasing Mini-Workshop, SLAC Geant4 9.0 Release Schedule Gabriele Cosmo.
Lab. 2 Overview 1. What concepts are you expected to understand after the Lab. 2 is finished? 2. How do you demonstrate that you have that knowledge?
Reconstruction and Analysis on Demand: A Success Story Christopher D. Jones Cornell University, USA.
Makoto Asai (SLAC) Geant4 Users CERN Nov. 15 th, 2002 Customizing Run Management.
If You Missed Last Week Go to Click on Syllabus, review lecture 01 notes, course schedule Contact your TA ( on website) Schedule.
Usage of the Python Programming Language in the CMS Experiment Rick Wilkinson (Caltech), Benedikt Hegner (CERN) On behalf of CMS Offline & Computing 1.
Highlights of latest developments ESA/ESTEC Makoto Asai (SLAC)
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
EORTC Remote Data Capture System For trials with electronic queries
1 CMPT 275 Software Engineering Revision Control.
Registration and Invention Disclosure (ID) Training.
Introduction to AppInventor Dr. José M. Reyes Álamo.
- Circle markers produced by TAsimage: They do not match was is produced on screen. The line width is too thick. Some other markers need to be tune a bit.
1 I-Logix Professional Services Specialist Rhapsody IDF (Interrupt Driven Framework) CPU External Code RTOS OXF Framework Rhapsody Generated.
Designing For Testability. Incorporate design features that facilitate testing Include features to: –Support test automation at all levels (unit, integration,
Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each.
Operator Precedence First the contents of all parentheses are evaluated beginning with the innermost set of parenthesis. Second all multiplications, divisions,
eOrders inventory ordering software! Introduction Use easy functions, letting you order products that you need automatically. Use easy functions, letting.
University of Maryland Bug Driven Bug Finding Chadd Williams.
Enrolment Services – Class Scheduling Fall 2014 Course Combinations.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Chapter 1 Working with strings. Objectives Understand simple programs using character strings and the string library. Get acquainted with declarations,
Duty Log and Chat Setup SSG Frese, Jerome S. Sensor Manager Cell 12 MDD.
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
C Hints and Tips The preprocessor and other fun toys.
NEW FOR 2009 Faster, Easier, Friendlier. Before you start Any student, staff, or faculty member can file an accident/incident report. Accident reporting.
UI command Makoto Asai (SLAC) Geant4 Tutorial CERN May 25-27, 2005 May 2005, Geant4 v7.0p01.
Kako razvijate PL/SQL pakete? File based PL/SQL development Mitja Golouh SIOUG 2006,
Meeting Goals Makoto Asai and Marc Verderi 2010 Geant4 Collaboration ESA/ESTEC.
Automated Patch Generation Adapted from Tevfik Bultan’s Lecture.
Overview Task State Diagram Task Priority Idle Hook AND Co-Routines
Steps for posting a training (single event or series) to the regional calendar R&C Regional Calendar.
Program Development Cycle
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
NIMAC for Publishers & Vendors: Using the Excel to OPF Feature & Manually Uploading Files December 2015.
Architecture team and Inter-category design/interface Makoto Asai (SLAC) 10/Oct/2002 Geant4 delta-review.
UNCLASSIFIED – For Official Use Only 1 Contract Load Notification “Fly-in” Action ( Continue to Page Down/Click on each page…) Electronic Document Access.
17-19 Oct, 2007Geant4 Japan Oct, 2007Geant4 Japan Oct, 2007Geant4 Japan 2007 Geant4 Collaboration.
1 Java Server Pages A Java Server Page is a file consisting of HTML or XML markup into which special tags and code blocks are inserted When the page is.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
PHP (cont.). 2 Functions Definition – function name(arguments){... } –syntax name as for a variable, but without $ arguments as for variables –to return.
Programming Fundamentals Enumerations and Functions.
20 October 2005 LCG Generator Services monthly meeting, CERN Validation of GENSER & News on GENSER Alexander Toropin LCG Generator Services monthly meeting.
Makoto Asai.  Parallel layered mass geometry  Other minor improvement  G4Exception.
Architecture Review 10/11/2004
Contract Deficiency Report (CDR) Workflow & Roles
CVS revisions UML diagram
Indexer AKEEL AHMED.
Gunter Folger Geant4 Genova Workshop 4-July-2001
CSE 303 Concepts and Tools for Software Development
Introduction to AppInventor
Customizing Run Management
Makoto Asai (SLAC) Geant4 Users CERN Nov. 13th, 2002
Planning next release of GAUDI
release 5.0 – planned features
Presentation transcript:

Improvement of G4Exception (and an announcement on G4ApplicationState) Makoto Asai (SLAC) on behalf of Architecture team

03/Nov/2002Improvement of G4Exception - M.Asai 2 Motivation Guess how many G4Exception are implemented in our release code. Almost 1,600 !!! Guess how many of them are documented in our manual. Almost nothing. At least NO INDEX !!! There are strong user ’ s requirements Stability Avoid unnecessary core dump after thousands of events Just aborting an event could be enough for many cases “ Easy to use ” index of exceptions Much more explanation / information What ’ s wrong? How to fix?

03/Nov/2002Improvement of G4Exception - M.Asai 3 Proposal of improvement All exceptions MUST be registered to a Database So that we can maintain the document Change (not add) the syntax of G4Exception to enforce the improvement Exception name – used as the key of index Severity – to control the behavior of G4 Class and method name Description

03/Nov/2002Improvement of G4Exception - M.Asai 4 Severity Fatal exception – core dump Trivial error, e.g. file it not found or mandatory class is missing Fatal error in argument – core dump Trivial error in methods argument(s), e.g. negative value for a size of solid Run must be aborted Errors in geometrical setup, etc., which happen typically during the geometry closing / optimization Event must be aborted Errors in GPIL, DoIt, etc., which happen during an event loop Expected not to affect to another event Just a warning message

03/Nov/2002Improvement of G4Exception - M.Asai 5 G4Exception for warning messages A block of G4cerr warning messages could be sent to G4Exception with “ JustWarning ” severity. This allows us to book the warning messages in our indexed error message document. On the other hand, use of G4cerr is still encouraged for writing information just before issuing G4Exception of all severities. StringStream operation is useful to inform problematic values.

03/Nov/2002Improvement of G4Exception - M.Asai 6 Syntax of new G4Exception void G4Exception(const char* originOfException, const char* exceptionCode, G4ExceptionSeverity severity, const char* description); enum G4ExceptionSeverity {FatalException, FatalErrorInArgument, RunMustBeAborted, EventMustBeAborted, JustWarning}; Syntax of exceptionCode : XXX- where XXX is abridged category name

03/Nov/2002Improvement of G4Exception - M.Asai 7 Preparation of this improvement New G4Exception method and a handler of run/event abortion have already been committed to CVS. G4Event now has a flag of event abortion It is ready to use. Registration Web page is ready to use. Douglas Smith (SLAC) will maintain this page Utilizing Oracle database system Automatic generation of index is in preparation We are ready to start modifying our code!

03/Nov/2002Improvement of G4Exception - M.Asai 8 Registration Web pages It allows you to register, list, edit and delete exceptions. It automatically generates a document of exceptions with an index. This document will be attached to the user ’ s guide. Listing capability will be publicized to the user. At 5.0 release

03/Nov/2002Improvement of G4Exception - M.Asai 9 Number of G4Exception in each category Event : 10 G3toG4 : 39 Global : 50 Intercoms : 5 Material : 34 Particle : 36 Parameterisation : 6 Persistency : 40 Run : 7 Track : 10 Tracking : 6 Geometry/solid : 174 Geometry/other : 178 Processes/electromagnetic/lowenergy : 123 Processes/electromagnetic/other : 15 Processes/hadronics : 719 Processes/other : 41 Visualization : 35 Example/novice : 3 Example/extended : 41 Example/advanced : 3 Test : 1

03/Nov/2002Improvement of G4Exception - M.Asai 10 Don ’ t be scared! Registration Web pages assist you. To be continued Almost all characters are accepted but no tab/space. 30 characters maximum.

03/Nov/2002Improvement of G4Exception - M.Asai 11 Once you register an exception … Description will appear on the screen once G4Exception occurs. Suggestion will be booked in a document, but will not appear on the screen.

03/Nov/2002Improvement of G4Exception - M.Asai 12 You ’ ll see a code fragment Ready to just copy & paste to your code

03/Nov/2002Improvement of G4Exception - M.Asai 13 Proposed schedule Kernel categories By 5.0 release Geometry/solid, concrete processes, visualization By 5.1 release By 5.1 release, old syntax of G4Exception will be eliminated. Code with old syntax will not be able to compile! Converting G4cout warning message to G4Exception Best effort bases but encouraged to be done by 5.1 START NOW!!

03/Nov/2002Improvement of G4Exception - M.Asai 14 Announcement on G4ApplicationState Incident : Bug report #404 Enumeration of G4ApplicationState is too simple and it conflicts with an external package. I confirmed with simple two lines of code enum anEnum {goodDay, goodNight}; int goodDay(int i) {return 2*i;} causes a compilation error “previous non-function declaration conflicts with function declaration”

03/Nov/2002Improvement of G4Exception - M.Asai 15 Announcement on G4ApplicationState G4ApplicationState will be modified to enum G4ApplicationState { G4State_PreInit, G4State_Init, G4State_Idle, G4State_GeomClosed, G4State_EventProc, G4State_Quit, G4State_Abort }; Given this modification affects on many classes, changes are to be scheduled during the release phase of 5.0, with blocking the access to CVS. Hopefully automated by a script NOTE : Users’ messenger classes may also be affected Small work may be needed for (G)UI’s, which utilize state name as prompt characters.