Download presentation
Presentation is loading. Please wait.
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 Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration
3
Service Oriented Architecture Model Driven Development I hate buzz!!! Agile Rocks! Aspect Oriented Programming
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 Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. 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 Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. 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 Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration
7
1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration Grand Unified Model (GUM)
8
NeXus based GUM 1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration Component based Well defined interfaces Model driven (NeXus)
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 Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration
10
Model Server EJB3 + Hibernate for persistence Multi-client event notification 1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration Common architectural design pattern in OO analysis and design: BCE(D) NeXus component / instrument model Model ServerClient *cf Model-View-Controller pattern
11
1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration Client-Server System
12
GumTree Reloaded 1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration NOBUGS 04NOBUGS 06
13
1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration Plug-in Loader (OSGi) Plug-in Based Architecture Application Plug-in = Extensions Plug-ins Extensible ApplicationGumTree
14
Instrument specific logic GumTree Rich Client 1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration Cross domain application framework ( Eclipse RCP ) Scientific specific application framework ( GumTree Platform ) Nexus domain specific application framework ( GumNIX ) Cross OS framework ( Java VM )
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 Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. 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 Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. 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 1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration
20
GumTree NeXus Instrument Extension (GumNIX) 1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration Instrument Control Data AnalysisData Access Experiment Workflow
21
1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration
22
1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration
23
Dawn of A New Era http://gumtree.sf.net gumtree@googlegroups.com 1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.