Presentation is loading. Please wait.

Presentation is loading. Please wait.

European Organization for Nuclear Research Geneva LHCb - JGaudi.

Similar presentations


Presentation on theme: "European Organization for Nuclear Research Geneva LHCb - JGaudi."— Presentation transcript:

1 European Organization for Nuclear Research Geneva LHCb - JGaudi

2 LHCb - JG AUDI Overview Problems RealizationJG AUDI What is JG AUDI ? How does JG AUDI work? Realization / Problems Mixing C++ and Java LHCb / Java - my impression Java & C++OutlookLHCb/Java?The End

3 JG AUDI An answer to the question of the usability of Java in bigger projects like LHCb. Port current Gaudi-Framework into Java- Language Study the problems / issues of using Java GOAL: Understand a bit more of Java and it‘s usability! Overview Problems RealizationJG AUDI Java & C++OutlookLHCb/Java?The End

4 JG AUDI „How much Java do we want?“ 3 different frameworks: 100% pure Java framework Java framework supporting C++ components Gaudi service (C++) supporting Java components Overview Problems RealizationJG AUDI Java & C++OutlookLHCb/Java?The End

5 100% Java? Rewriting the existing Gaudi framework in Java Same design and architecture Using advantages of Java Question: How to access data? –No Java-based routines for accessing data (Fortran, C++) –Within Java it is not possible to get data Overview Problems RealizationJG AUDI Java & C++OutlookLHCb/Java?The End

6 Java and C++? Using native C++ routines for tasks C++ routines already exists and tested Java offers via JNI the possibility to use C/C++ code. Delegate difficult tasks to the C++ world! (data access,…) Use Java components within Gaudi (GUI,...) Overview Problems RealizationJG AUDI Java & C++OutlookLHCb/Java?The End

7 Java and C++? user ApplicationMgr Interface 1 Interface x InterfaceObj1InterfaceObjX 1 7 CPP- ApplicationMgr InterfaceObj1InterfaceObjX stubCPPService Constructor ()... JCPP- ApplicationMgr CPPService Interface 1 Interface x JApplicationMgr 2 3 4 5 6 7 Overview Problems RealizationJG AUDI Java & C++OutlookLHCb/Java?The End Static library code native code Static library code native code

8 Java and C++? user ApplicationMgr Interface 1 Interface x 1 JavaService Java- ApplicationMgr Constructor Interface 1 Interface x JApplicationMgr JVM 2 3 4 5 6 stubJavaService Overview Problems RealizationJG AUDI Java & C++OutlookLHCb/Java?The End

9 OUTLOOK Visual programming (Drag-n-Drop-Style) reuse-able compontents All components are „JavaBeans“: –Java-Standard –Properties and Handling of these in JavaBeans already included –changeable, extendable, customizeable –sophisticated „Incident“-Handling already included The JGaudi- Component-Palette Add components per Drag’n’Drop Sketch-Board for Concrete Program Set-up properties for used components! Overview Problems RealizationJG AUDI Java & C++OutlookLHCb/Java?The End

10 LHCb / Java? It is possible to use Java BUT: There are (minor) problems when mixing Java and C++ (Creating a JVM, writing Proxy-Classes, automatic Code generation (Interfaces to Implementation...)) There is still a lot to do in order to make JG AUDI mature! Overview Problems RealizationJG AUDI Java & C++OutlookLHCb/Java?The End

11 End E-mail: Stefan.Probst@cern.ch WEB: http://www.cern.ch/probst Additional Documentation Presentation Thesis: Study of the applicability of the Java language for developing large software systems in the context of high-energy physics. Overview Problems RealizationJG AUDI Java & C++OutlookLHCb/Java?The End


Download ppt "European Organization for Nuclear Research Geneva LHCb - JGaudi."

Similar presentations


Ads by Google