Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Service-enabling Legacy Applications for the GENIE Project Sofia Panagiotidi, Jeremy Cohen, John Darlington, Marko Krznarić and Eleftheria Katsiri Motivation Engineer GENIE to inform research on component coupling frameworks: Analysis of a complicated piece of code such as GENIE Extraction of interface and model coupling semantics Modern component architectures indicate the need for highly engineered and autonomous components Create methodology to advance the quality of functional code 1 Goals A flexible coupling framework where components can be individually developed and coupled together The coupling needs to be correct, intelligent and without undue programming effort Come up with sophisticated ways to couple physical entities in order to optimally produce experimental results A system of the size and complexity of GENIE requires a supporting semantic framework 2 Previous Work Separation of the code into pieces - Layered representation of the application Wrapping GENIE as ICENI binary component Delivery of Web-based System (portal) to allow a virtual organisation of environmental scientists to create and manage simulations at a high-level over a Condor pool Implementation of database management system to allow scientists to share, access and visualise data produced by simulation runs Investigation of model-coupling and validation semantics 3 GENIE model framework 3D atmosphere Atmospheric CO2 3D ice sheets Land biogeochemistry 2D sea ice Ocean biogeochemisty 3D ocean 2D land surface Ocean sediments 4 Currently in GENIE genie.F is a glorified metafile containing if-then-else statements Fortran routines act as “wrappers” Life cycle phases scattered Module communication through shared memory Hard-coded semantics (e.g. grid interpolations, time steps) 5 Extended Abstract Component (Grid) Model for GENIE Model Specific Interfaces Abstract Interface - Plugin adapters Web Service Wrapper Layer Communication through SOAP/MPI Metadata for Composability 6 Componentising GENIE Determining I/Os • SIDL (Scientific Interface Description Language) - Common way of describing components Linking Fortran to Java • Babel Interoperability Tool • Shared Libraries 7 Babel Interoperability Tool 8 Steps to Service Enable GENIE (1/4) 1. Wrap and test modules individually 2. Test module communication through an equivalent to genie.F Java client & compare results 3. Create Abstract Component Interfaces 9 Steps to Service Enable GENIE (2/4) 4. Launch components as Web Services and modify Java client to now call Web Services instead 10 Steps to Service Enable GENIE (3/4) 5.Use workflow engine to orchestrate the Abstract Components 11 Steps to Service Enable GENIE (4/4) 6. Advance into a Grid environment so as to incorporate Co-ordination Specification, Dynamic Abstract Generator, Resource Allocation and Optimisation 12 An example as proof of concept 13 Achieved.. Web Service Client Embm Bean Embm Atmosphere Surflux GoldSeaice Bean Surflux Bean Goldstein Seaice Land Bean Land Goldstein Bean Goldstein Ocean 14 Conclusions Provided service-based computational Grid execution architecture for GENIE framework Scaled engineering steps Proved that functional legacy code can be distributed and run as Web Services 15