1 / 23

The NeXus Reloaded

The NeXus Reloaded. Tony Lam Bragg Institute Data Acquisition Team NOBUGS 06. Face the Technical Challenges. My users have never satisfied! Gap between user domain and technology domain My system is too hard to maintain! Technology is changing too fast! Bad software design

marci
Télécharger la présentation

The NeXus Reloaded

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The NeXus Reloaded Tony Lam Bragg Institute Data Acquisition Team NOBUGS 06

  2. Face the Technical Challenges • My users have never satisfied! • Gap between user domain and technology domain • My system is too hard to maintain! • Technology is changing too fast! • Bad software design • Integration issue of legacy systems  The drive to reduce complexity is at the heart of software development [McConnell 2004] 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  3. Model Driven Development Service Oriented Architecture I hate buzz!!! Aspect Oriented Programming Agile Rocks!

  4. Unifying Foundation • Ivar Jacobson (co-founder of UML and RUP) has summarised into five “best technical practices” • Component Based • Model Based • Iterative and Incremental • Use Case Driven • Architecture Centric 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  5. Model Based Approach • Understand the problem domain • Analysis and Simulation • Communicate with stakeholders • Talk in their language! • Inject expert knowledge into the design • Domain knowledge is the key assert of your system! 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  6. NeXus as Domain Model • NeXus data: snapshot of instrument state • A skeleton of the scientific domain model (cf engineering domain) • Unifies data acquisition and data analysis 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  7. Grand Unified Model (GUM) 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  8. NeXus based GUM Model driven (NeXus) Well defined interfaces Component based 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  9. GUM Server Infrastructure • Instrument Control Model Server • Wraps devices in control system to “models” • Experiment Control Batch Manager • Batched operation on the model server • Support command line control via network • Archive & Retrieval  Data Access Manager • Retrieves data set from server in NeXus object! 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  10. Model Server • EJB3 + Hibernate for persistence • Multi-client event notification NeXus component / instrument model Client Model Server Common architectural design pattern in OO analysis and design: BCE(D) *cf Model-View-Controller pattern 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  11. Client-Server System 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  12. GumTree Reloaded NOBUGS 04 NOBUGS 06 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  13. Plug-in Based Architecture Plug-in = Plug-ins Extensions Application Plug-in Loader (OSGi) Extensible Application GumTree 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  14. Instrument specific logic GumTree Rich Client Architecture Centric Layered Architecture Nexus domain specific application framework (GumNIX) Reusability Scientific specific application framework (GumTree Platform) Cross domain application framework (Eclipse RCP) Cross OS framework (Java VM) 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  15. Integrated Scientific Experiment Environment (ISEE) • A generic scientific workbench • Based on Eclipse Rich Client Platform (RCP) • A reusable platform for different type of scientific applications (eg DANSE, Pipestrain) • Additional scientific support: • SDO Data conversion • Visualisation Toolkit • Scripting within application • Collaboratory (Collaborative Laboratory Environment) 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  16. Service Data Object • Service Data Object (SDO) is all about the Data Transfer Object (DTO) pattern for SOA • It’s proposed by IBM and BEA, and now it has become JSR-235 • It is widely used to propagate data across different tiers in its J2EE architecture (runs on SOAP) • An intermediated format to convert internal application data from one domain to another (via EMF implementation) 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  17. Data Visualisation • GumTree is capable of displaying 1D, 2D and 3D data with various rendering engine: • SWT, OpenGL, Swing / AWT based plot (ISAW), ActiveX, .NET 1D 2D 3D 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  18. GumTree NeXus Instrument Extension (GumNIX) Experiment Workflow Instrument Control Data Access Data Analysis 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  19. 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  20. 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

  21. Dawn of A New Era http://gumtree.sf.net gumtree@googlegroups.com 1. Practices for Building Quality Software 2. NeXus as Domain Model 3. Grand Unified Model Returns 4. GUM Server Infrastructure 5. GumTree ISEE Workbench 6. Collaboration

More Related