Architecture of Collaborating Frameworks - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Architecture of Collaborating Frameworks

Description:

Round Table on 21st Century Monte Carlo Methods for Space ... Building a skyscraper. Built by many companies. Modelling. simple plans, evolving to blueprints ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 20
Provided by: din106
Category:

less

Transcript and Presenter's Notes

Title: Architecture of Collaborating Frameworks


1
Architecture of Collaborating Frameworks
Andreas Pfeiffer CERN IT/API andreas.pfeiffer_at_cer
n.ch B.Ferrero Merlino, R.Giannitrapani,
F.Longo, R.Nartallo, P.Nieminen, AP, M.G.Pia,
G.Santin Round Table on 21st Century Monte Carlo
Methods for Space Applications June 13-15, ESTEC,
Noordwijk NL
2
Outline
  • Motivation
  • Collaborating Frameworks
  • Geant-4 Simulation, Visualisation, User
    Interface and Analysis
  • Summary

3
Introduction and Motivation
  • Huge increase in complexity of modern s/w
  • Needs design on a larger scale
  • overall system structure architecture
  • beyond data structures and algorithms
  • Example Detector Simulation
  • defining geometry and materials
  • defining physics processes
  • interactive work
  • visualisation
  • data analysis

4
Design Levels an analogy
Image the project is not to build software but to
go on an inter-planetary journey...
  • Architectural design
  • Mechanistic design
  • Detailed design

decide which planet to fly to
The Greasy Spoon
select the flight path
choose where to have lunch
Bill Watterson
5
Scale and processesBuilding a dog house
  • Can be built by one person
  • Minimal modelling
  • Simple process
  • Simple tools

Rational Software Corporation
6
Scale and processesBuilding a family house
  • Built by a team
  • Modelling
  • Simple plans, evolving to blueprints
  • Well-defined process
  • Architect
  • Planning permission
  • Time-tabling and Scheduling
  • ...
  • Power tools

Rational Software Corporation
7
Scale and processesBuilding a skyscraper
  • Built by many companies
  • Modelling
  • simple plans, evolving to blueprints
  • scale models
  • engineering plans
  • Well-defined process
  • architectural team
  • political planning
  • infrastructure planning
  • time-tabling and scheduling
  • selling space
  • Heavy equipment

Rational Software Corporation
8
Components and Frameworks
  • Component
  • a correlated group of classes together with their
    interactions
  • typically determined during domain composition of
    OO analysis phase
  • only very weak dependence on (classes of) other
    components through use of Abstract Interfaces
  • Framework
  • reusable design of (part of) a software system
  • described by sets of abstract classes and the way
    instances of these collaborate

9
Abstract Interfaces
  • Abstract Interfaces
  • only pure virtual methods, inheritance only from
    other A.I.
  • components use other components only through
    their A.I.
  • defines a kind of a protocol for a component
  • Maximize flexibility and re-use of packages
  • allow each component to develop independently
  • re-use of existing packages to implement
    components reduces start-up time significantly
  • De-couple implementation of a package from its use

10
Collaborating Frameworks
  • Allow re-use (if properly designed)
  • existing libs can be wrapped easily
  • Maximize flexibility through use of Abstract
    Interfaces
  • implementation can be changed
  • Rapid development cycle
  • no need to implement full Interface from
    beginning
  • implementation can concentrate on important items
  • Reduces maintenance overhead
  • implementations evolve independently

11
Geant-4 Toolkit
  • Description of detector geometry and material
  • including CAD interface (STEP)
  • Simulation of physics processes
  • flexible yet accurate simulations needed
  • User Interface
  • to control flow of execution
  • Visualisation
  • detector geometry, particle tracks
  • Analysis
  • histogramming of physics quantities

12
Geant-4 Simulation (I)
  • Simulation of physics processes
  • Electromagnetic processes
  • Standard processes, Low energy extensions, Muon
    processes, Optical photons
  • Hadronic processes
  • Data driven neutron transport isotope
    production
  • Theory driven modelling
  • Transportation in fields
  • Parametrization for fast simulation
  • User can extend any of the processes
  • through use of abstract interfaces
  • adapt for special needs

13
Geant-4 Simulation (II)
  • Control through steps through setup
  • Run, Event, Track, Step
  • Select and apply appropriate physics process
  • at each step
  • Update list of particles to transport
  • interactions, decays, ...
  • Possibly interact with user (via call-backs)
  • show selected events (EventDisplay)
  • create/update statistical information
    (Histograms, ...)
  • decide to continue/skip/abort event

14
Geant-4 User Interface
  • Designed for various categories of users
  • G-4 developer, application developer, end user
  • Two phases of user user actions
  • setup of simulation
  • control of event generation and processing
  • User Interface category separated from actual
    command interpreter (intercoms)
  • using abstract G4UIsession class
  • Several implementations exist
  • command-line (batch and terminal)
  • GUIs (X11/Motif, Windows, OPACS, Java)

15
Geant-4 Visualization
  • Control of several kinds of visualisation
  • Detector geometry
  • particle trajectories
  • hits in the detectors
  • Using abstract G4VisManager class
  • takes 3-D data from geometry/track/hits
  • passes on to abstract visualization driver
  • G4VGraphicsSystem (initialization)
  • G4VSceneHandler (processing 3-D data for vis.)
  • G4VViewer (rendering the processed 3-D data)

16
Geant-4 Analysis
  • Using abstract G4VAnalysisManager class
  • uses abstract G4VAnalysisSystem class for
    initialization
  • but hides instance from user using
    Proxy-pattern
  • basically forwarding all method calls to
    analysisSystem
  • User defined instance of AnalysisManager
  • create histograms (through HistogramFactory)
  • simple plots
  • storing of histograms
  • More complex analysis (e.g., fit) done in
    Analysis System started externally

17
G4Analysis category
18
GammaRayTelescope
  • In parallel to event display
  • Online histogramming required
  • fast feedback
  • independent from Analysis Tool

19
Summary
  • Abstract Interfaces de-couple components of
    frameworks
  • Weakly coupled components and frameworks have
    large advantages
  • ease of re-use of a component
  • flexibility through independence of
    implementation
  • maintainability through independent evolution of
    components
  • Example using Geant-4 and AIDA compliant analysis
    tools XRayTelescope
Write a Comment
User Comments (0)
About PowerShow.com