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

Slides:



Advertisements
Similar presentations
Introduction to the Spring Framework
Advertisements

Where did I go ?. Where did I work ? What did I ANSTO ? 1.Choose a device bus 2.Choose a programming language 3.Propose and develop an architecture.
CACORE TOOLS FEATURES. caCORE SDK Features caCORE Workbench Plugin EA/ArgoUML Plug-in development Integrated support of semantic integration in the plugin.
From Ontology Design to Deployment Semantic Application Development with TopBraid Holger Knublauch
Introduction Main technologies: core written in Java embedded Jython interpreter code managed using the Eclipse plugin framework client program uses Eclipse.
Introduction to Eclipse plugin development for CSU 670 course project, Selector language (Xaspect) editor plugin implementation.
Software Reuse SEII-Lecture 28
CS 432 Object-Oriented Analysis and Design
Model Driven Architecture Efficiently react to Changing Architectural and Functional Requirements Stainless Steel Models for Red Rusting Technologies Wim.
8.
Leveraging the Eclipse Ecosystem for the Scientific Community Tony ANSTO Andy ESRF ICALEPCS 2005.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Review Amit Shabtay. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Where to learn more? What is for the.
Designing Control System Software for Radio Telescopes S. Chaudhuri, A. Ahuja, S. Natrajan, and H.M. Vin Presenter: Harrick M. Vin Vice President and Chief.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Ch 12 Distributed Systems Architectures
MESE Project Proposal Publish-Subscribe Notification for Web Services Leah Rosenburg CS-701 Masters Project October 4, 2006.
® IBM Software Group © 2008 IBM Corporation RSM and UML 13 june 2008 Fredrik Ferm – ECAT Strategy Team Lead
Use of RCP for Instrument Control Tony Lam 2006 Eclipse SLAC.
Slide 1 Sterling Software Peter Sharer Sterling Software.
Course Instructor: Aisha Azeem
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Oracle SOA Suite 11g.
Gumnix Lab ANSTO ESRF References Collaborators Open Source Technologies Open Source Technology encourages code reusability, reducing code maintenance,
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 11 Reality Check: Java Programming in the Real World.
Framework: ISA-95 WG We are here User cases Studies
What is Enterprise Architecture?
GumTree The Scientific Workbench ~Technology Showcase~ Tony Lam Australian Nuclear Science and Technology Organisation.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
Introduction to Eclipse and Eclipse RCP Kenneth Evans, Jr. Presented at the EPICS Collaboration Meeting June 13, 2006 Argonne National Laboratory, Argonne,
Introduction to J2EE Architecture Portions by Kunal Mehta.
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
GumTree Feature Overview Tony Lam Data Acquisition Team Bragg Institute eScience Workshop 2006.
Margherita Forcolin (Insiel S.p.A.) Thessaloniki, 13 October 2011.
Crystal-25 April The Rising Power of the Web Browser: Douglas du Boulay, Clinton Chee, Romain Quilici, Peter Turner, Mathew Wyatt. Part of a.
Information System Development Courses Figure: ISD Course Structure.
Nick Draper 05/11/2008 Mantid Manipulation and Analysis Toolkit for ISIS data.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi.
System Wide Information Management (SWIM). FAA Transition to Service Oriented Architecture (SOA) - System Wide Information Management (SWIM) Initiative.
What is Eclipse? Official Definition: Eclipse Evolution
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
CSS – Control System Studio
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
© 2008 by Shawn Spiars; made available under the EPL v1.0 | March 17, 2008 Case Study – Phurnace Software and RCP Shawn Spiars Lead UI Developer Phurnace.
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
25 April Unified Cryptologic Architecture: A Framework for a Service Based Architecture Unified Cryptologic Architecture: A Framework for a Service.
Satisfying Requirements BPF for DRA shall address: –DAQ Environment (Eclipse RCP): Gumtree ISEE workbench integration; –Design Composing and Configurability,
Collaborative Systems Developing Collaborative Systems with a Reuse Driven Process.
Eclipse.NET An Integration Platform for ProjectIT-Studio João Saraiva IST & INESC-ID (GSI)
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
RDA 9th Plenary Breakout 3, 5 April :00-17:30
Software Architecture & Difference from Design
Inventory of Distributed Computing Concepts and Web services
Software engineering -1
JavaServer Faces: The Fundamentals
Remote Access of Instruments and Data at OPAL
Execute your Processes
GumTree An Integrated Scientific Experimental Environment
Developing and testing enterprise Java applications
Presentation transcript:

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  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

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

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

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

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

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)

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)

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

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

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

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

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

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 )

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

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

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

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

1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration

1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration

Dawn of A New Era 1. Practices for Building Quality Software2. NeXus as Domain Model 3. Grand Unified Model Returns4. GUM Server Infrastructure 5. GumTree ISEE Workbench6. Collaboration